package com.jyy.prefabricated.request.pmssMpng;

import com.bocom.api.AbstractBocomRequest;
import com.bocom.api.BizContent;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.jyy.prefabricated.response.pmssMpng.MisCreateOrderResponseV1;


public class MisCreateOrderRequestV1 extends AbstractBocomRequest<MisCreateOrderResponseV1> {

  @Override
  public Class<MisCreateOrderResponseV1> getResponseClass() {
    return MisCreateOrderResponseV1.class;
  }

  @Override
  public boolean isNeedEncrypt() {
    return false;
  }

  @Override
  public String getMethod() {
    return "POST";
  }

  @Override
  public Class<? extends BizContent> getBizContentClass() {
    return MisCreateOrderRequestV1Biz.class;
  }

  public static class MisCreateOrderRequestV1Biz implements BizContent {

     /** 请求头*/
     @JsonProperty("req_head")
     private ReqHead reqHead;

     public static class ReqHead {
     /** 交易码*/
     @JsonProperty("transcode")
     private String transcode;

     /** 终端交易时间*/
     @JsonProperty("term_trans_time")
     private String termTransTime;

     /** 交易请求方类型*/
     @JsonProperty("requester_type")
     private String requesterType;

     /** 流水号*/
     @JsonProperty("trace_no")
     private String traceNo;

     /** 报文版本信息*/
     @JsonProperty("version")
     private String version;

     /** 备注信息*/
     @JsonProperty("remark")
     private String remark;

  
 	
	public String getTranscode() {
	return transcode;
	}

	public void setTranscode(String transcode) {
	this.transcode = transcode;
	}
	public String getTermTransTime() {
	return termTransTime;
	}

	public void setTermTransTime(String termTransTime) {
	this.termTransTime = termTransTime;
	}
	public String getRequesterType() {
	return requesterType;
	}

	public void setRequesterType(String requesterType) {
	this.requesterType = requesterType;
	}
	public String getTraceNo() {
	return traceNo;
	}

	public void setTraceNo(String traceNo) {
	this.traceNo = traceNo;
	}
	public String getVersion() {
	return version;
	}

	public void setVersion(String version) {
	this.version = version;
	}
	public String getRemark() {
	return remark;
	}

	public void setRemark(String remark) {
	this.remark = remark;
	}

}
     /** 请求体*/
     @JsonProperty("req_body")
     private ReqBody reqBody;

     public static class ReqBody {
     /** 交易金额*/
     @JsonProperty("total_amount")
     private String totalAmount;

     /** 币种*/
     @JsonProperty("amount_type")
     private String amountType;

     /** 终端IP*/
     @JsonProperty("spbill_create_ip")
     private String spbillCreateIp;

     /** 交易渠道*/
     @JsonProperty("channel")
     private String channel;

     /** 商户号*/
     @JsonProperty("mcht_id")
     private String mchtId;

     /** 终端批次号*/
     @JsonProperty("term_batch_no")
     private String termBatchNo;

     /** 终端流水号*/
     @JsonProperty("term_pos_no")
     private String termPosNo;

     /** 外部订单号*/
     @JsonProperty("mcht_order_no")
     private String mchtOrderNo;

     /** 通知回调地址*/
     @JsonProperty("notify_url")
     private String notifyUrl;

     /** 授权ID*/
     @JsonProperty("auth_id")
     private String authId;

     /** 扩展信息*/
     @JsonProperty("extend_info")
     private String extendInfo;

     /** 商品详情*/
     @JsonProperty("detail")
     private String detail;

     /** 附加交易信息*/
     @JsonProperty("addi_trade_data")
     private String addiTradeData;

     /** 服务商编号*/
     @JsonProperty("partner_id")
     private String partnerId;
     
     public String getPartnerId() {
 		return partnerId;
 	}

 	public void setPartnerId(String partnerId) {
 		this.partnerId = partnerId;
 	}
 	
	public String getTotalAmount() {
	return totalAmount;
	}

	public void setTotalAmount(String totalAmount) {
	this.totalAmount = totalAmount;
	}
	public String getAmountType() {
	return amountType;
	}

	public void setAmountType(String amountType) {
	this.amountType = amountType;
	}
	public String getSpbillCreateIp() {
	return spbillCreateIp;
	}

	public void setSpbillCreateIp(String spbillCreateIp) {
	this.spbillCreateIp = spbillCreateIp;
	}
	public String getChannel() {
	return channel;
	}

	public void setChannel(String channel) {
	this.channel = channel;
	}
	public String getMchtId() {
	return mchtId;
	}

	public void setMchtId(String mchtId) {
	this.mchtId = mchtId;
	}
	public String getTermBatchNo() {
	return termBatchNo;
	}

	public void setTermBatchNo(String termBatchNo) {
	this.termBatchNo = termBatchNo;
	}
	public String getTermPosNo() {
	return termPosNo;
	}

	public void setTermPosNo(String termPosNo) {
	this.termPosNo = termPosNo;
	}
	public String getMchtOrderNo() {
	return mchtOrderNo;
	}

	public void setMchtOrderNo(String mchtOrderNo) {
	this.mchtOrderNo = mchtOrderNo;
	}
	public String getNotifyUrl() {
	return notifyUrl;
	}

	public void setNotifyUrl(String notifyUrl) {
	this.notifyUrl = notifyUrl;
	}
	public String getAuthId() {
	return authId;
	}

	public void setAuthId(String authId) {
	this.authId = authId;
	}
	public String getExtendInfo() {
	return extendInfo;
	}

	public void setExtendInfo(String extendInfo) {
	this.extendInfo = extendInfo;
	}
	public String getDetail() {
	return detail;
	}

	public void setDetail(String detail) {
	this.detail = detail;
	}
	public String getAddiTradeData() {
	return addiTradeData;
	}

	public void setAddiTradeData(String addiTradeData) {
	this.addiTradeData = addiTradeData;
	}

}
     public ReqHead getReqHead() {
 		return reqHead;
 	}

 	public void setReqHead(ReqHead reqHead) {
 		this.reqHead = reqHead;
 	}

 	public ReqBody getReqBody() {
 		return reqBody;
 	}

 	public void setReqBody(ReqBody reqBody) {
 		this.reqBody = reqBody;
 	}
  }
}